@use './variables.scss' as *;

// 组件样式

// Element Plus 样式覆盖
.el-button {
  font-weight: $font-weight-medium;
  border-radius: $border-radius-md;
}

.el-input {
  .el-input__wrapper {
    border-radius: $border-radius-md;
  }
}

.el-card {
  border-radius: $border-radius-lg;
  border: 1px solid var(--border-color);
}

// 强制覆盖表格样式 - 解决列表显示问题
// 使用更高优先级的选择器
.el-table.el-table--border,
.el-table {
  border-radius: $border-radius-lg !important;
  overflow: hidden !important;
  background-color: var(--bg-color) !important;
  color: var(--text-color-primary) !important;
  border: 1px solid var(--border-color) !important;
  
  // 表格头部
  .el-table__header-wrapper {
    .el-table__header {
      th.el-table__cell {
        background-color: var(--bg-color-secondary) !important;
        color: var(--text-color-primary) !important;
        font-weight: $font-weight-semibold !important;
        border-bottom: 1px solid var(--border-color) !important;
        padding: $spacing-3 $spacing-4 !important;
      }
    }
  }
  
  // 表格主体
  .el-table__body-wrapper {
    .el-table__body {
      tr.el-table__row {
        background-color: var(--bg-color) !important;
        border-bottom: 1px solid var(--border-color) !important;
        
        &:hover {
          background-color: var(--bg-color-secondary) !important;
        }
        
        &:last-child {
          border-bottom: none !important;
        }
        
        td.el-table__cell {
          background-color: transparent !important;
          color: var(--text-color-primary) !important;
          border-bottom: 1px solid var(--border-color) !important;
          padding: $spacing-3 $spacing-4 !important;
        }
      }
    }
  }
  
  // 确保表格单元格内容可见 - 关键修复
  .el-table__cell {
    .cell {
      color: var(--text-color-primary) !important;
      background-color: transparent !important;
      font-size: $font-size-sm !important;
      line-height: $line-height-normal !important;
      word-break: break-word !important;
    }
  }
  
  // 操作列按钮样式
  .el-button {
    margin-right: 8px;
    font-size: $font-size-sm !important;
    
    &:last-child {
      margin-right: 0;
    }
  }
}

// 强制覆盖Element Plus表格CSS变量
.el-table {
  --el-table-border-color: var(--border-color) !important;
  --el-table-text-color: var(--text-color-primary) !important;
  --el-table-header-text-color: var(--text-color-primary) !important;
  --el-table-row-hover-bg-color: var(--bg-color-secondary) !important;
  --el-table-header-bg-color: var(--bg-color-secondary) !important;
  --el-table-bg-color: var(--bg-color) !important;
  --el-table-tr-bg-color: var(--bg-color) !important;
  --el-table-expanded-cell-bg-color: var(--bg-color) !important;
}

// 分页组件样式
.pagination-wrapper {
  margin-top: $spacing-6;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: $spacing-4 0;
}

.el-pagination {
  .el-pager li {
    border-radius: $border-radius-base;
    background-color: var(--bg-color) !important;
    color: var(--text-color-primary) !important;
    border: 1px solid var(--border-color) !important;
    
    &:hover {
      background-color: var(--primary-color) !important;
      color: white !important;
    }
    
    &.active {
      background-color: var(--primary-color) !important;
      color: white !important;
    }
  }
  
  .btn-prev,
  .btn-next {
    background-color: var(--bg-color) !important;
    color: var(--text-color-primary) !important;
    border: 1px solid var(--border-color) !important;
    
    &:hover {
      background-color: var(--primary-color) !important;
      color: white !important;
    }
  }
}

// 标签组件样式
.el-tag {
  background-color: var(--bg-color-secondary) !important;
  color: var(--text-color-primary) !important;
  border: 1px solid var(--border-color) !important;
  
  &.el-tag--success {
    background-color: var(--success-color) !important;
    color: white !important;
    border-color: var(--success-color) !important;
  }
  
  &.el-tag--warning {
    background-color: var(--warning-color) !important;
    color: white !important;
    border-color: var(--warning-color) !important;
  }
  
  &.el-tag--danger {
    background-color: var(--error-color) !important;
    color: white !important;
    border-color: var(--error-color) !important;
  }
  
  &.el-tag--info {
    background-color: var(--info-color) !important;
    color: white !important;
    border-color: var(--info-color) !important;
  }
  
  &.el-tag--primary {
    background-color: var(--primary-color) !important;
    color: white !important;
    border-color: var(--primary-color) !important;
  }
}

// 进度条组件样式
.el-progress {
  .el-progress-bar__outer {
    background-color: var(--bg-color-secondary) !important;
  }
  
  .el-progress-bar__inner {
    background-color: var(--primary-color) !important;
  }
  
  .el-progress__text {
    color: var(--text-color-primary) !important;
  }
}

// 开关组件样式
.el-switch {
  .el-switch__core {
    background-color: var(--border-color) !important;
    border-color: var(--border-color) !important;
    
    &.is-checked {
      background-color: var(--primary-color) !important;
      border-color: var(--primary-color) !important;
    }
  }
}

// 自定义组件样式
.layout-container {
  height: 100vh;
  display: flex;
  flex-direction: column;
  
  @include respond-to(lg) {
    flex-direction: row;
  }
}

.layout-sidebar {
  width: 100%;
  background: var(--bg-color);
  border-right: 1px solid var(--border-color);
  
  @include respond-to(lg) {
    width: var(--sidebar-width);
    height: 100vh;
    overflow-y: auto;
  }
}

.layout-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  background: var(--bg-color-secondary);
}

.layout-header {
  height: var(--header-height);
  background: var(--bg-color);
  border-bottom: 1px solid var(--border-color);
  @include flex-between;
  padding: 0 $spacing-6;
  
  .header-left {
    @include flex-center;
  }
  
  .header-right {
    @include flex-center;
    gap: $spacing-4;
  }
}

.layout-content {
  flex: 1;
  overflow-y: auto;
  padding: $spacing-6;
} 